Bose, Chaudhuri, and Hocquenghem (BCH) codes are a type of error correction codes which are widely used in communication and storage systems. For example, a receiver in a communication system may receive messages that include errors resulting from various operations in transmitting the messages. Also, for example, errors may occur when reading data from a memory system. An error correction method employing BCH codes includes three steps: computing syndromes, finding error locator polynomials, and finding error locations.
Finding error locations is a time-consuming operation. A parallel architecture has been proposed to shorten the search time. But high parallelization can lead to high operation current and high leakage current.